12 research outputs found

    Rank Order Filters and Priority Queues

    Get PDF
    A derivation of a parallel algorithm for rank order filtering is presented. Both derivation and result differ from earlier designs: the derivations are less complicated and the result allows a number of different implementations. The same derivation is used to design a collection of priority queues. Both filters and priority queues are highly efficient: they have constant response time and small latency

    Quicksort in Constant Space

    Get PDF
    An in situ sorting algorithm, based on Quicksort, is presented with its proof of correctness. The proof illustrates a concise and elegant way to represent a sequence that has been partially sorted by Quicksort. A list representation turns out to be well suited to this purpose, and the discussion is entirely in terms of lists

    The Derivation of a Tighter Bound for Top-Down Skew Heaps

    No full text
    In this paper we present and analyze functional programs for a number of priority queue operations. These programs are based upon the topdown skew heaps---a truly elegant data structure---designed by D.D. Sleator and R.E. Tarjan. We show how their potential technique can be used to determine the time complexity of functional programs. This functional approach enables us to derive a potential function leading to tighter bounds for the amortized costs of the priority queue operations. From the improved bounds it follows, for instance, that Skewsort, a simple sorting program using these operations, requires only about 1:44Nlog 2 N comparisons to sort N numbers (in the worst case). 1 Amortized complexity in a functional setting By means of a simple example we explain how the potential technique of Sleator and Tarjan [7] can be used to determine the time complexity of functional programs. In this example lists of zeros and ones are used as binary representations of natural numbers. We deno..

    The matrix as in-situ data structure

    Get PDF
    AbstractIt is shown how a matrix can be used to implement a class of dictionaries. Instead of the strong requirement of ascendingness of a linear array, the weaker requirement of ascendingness of a matrix is used. This results in implementations that are efficient in both computation time and storage usage
    corecore